package main

import "fmt"

func main(){
	//深拷贝  和浅拷贝

	//创建 s1切片
	s1 := []int{1,2,3,4}

	//创建 s2切片
	s2 :=make([]int,10)

	for i:=0; i<len(s1);i++  {
		s2=append(s2,s1[i])   //直接拷贝了值
	}

	fmt.Println(s1,s2)   // [1 2 3 4] [0 0 0 0 0 0 0 0 0 0 1 2 3 4]
	s1[0]=10
	fmt.Println(s1,s2)   //[10 2 3 4] [0 0 0 0 0 0 0 0 0 0 1 2 3 4]


	//copy元素
	s3:=make([]int,20)
	copy(s3,s2)
	fmt.Println(s3)    //将s2 拷贝给 S3  [0 0 0 0 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 0]
}
